using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;

namespace Business.WarehouseReserveManagement.Dto
{
    public class CreateOrUpdateWarehouseReserveDto: EntityDto<Guid?>
    {
        
        /// <summary>
        /// 入库预约ID
        /// </summary>
        [Required]
        public Guid WarehouseReserveId { get; set; }
        
        /// <summary>
        /// 供应商
        /// </summary>
        [Required]
        public int Supplier { get; set; }
        
        /// <summary>
        /// 入库库位
        /// </summary>
        [Required]
        public string WarehouseLocation { get; set; }
        
        /// <summary>
        /// 商品ID
        /// </summary>
        [Required]
        public Guid GoodId { get; set; }

        /// <summary>
        /// 外部单号
        /// </summary>
        [Required]
        public string ExternalNumber { get; set; }

        /// <summary>
        /// 单据编码
        /// </summary>
        [Required]
        public string DocumentCode { get; set; }
        
        /// <summary>
        /// 承运商
        /// </summary>
        [Required]
        public string ShippingCarrier { get; set; }
        
        /// <summary>
        /// 状态
        /// </summary>
        [Required]
        public string ShopStatus { get; set; }
        
        /// <summary>
        /// 申请人
        /// </summary>
        [Required]
        public string ApplicantName { get; set; }
        
        /// <summary>
        /// 仓库
        /// </summary>
        [Required]
        public string WarehoseName { get; set; }
        
        /// <summary>
        /// 单据类型
        /// </summary>
        [Required]
        public string DocumentType { get; set; }
        
        /// <summary>
        /// 单据备注
        /// </summary>
        [Required]
        public string DocumentRemarks { get; set; }
        
        /// <summary>
        /// 预约时间
        /// </summary>
        [Required]
        public string ApplicantTime { get; set; }
        
        /// <summary>
        /// 运单号
        /// </summary>
        [Required]
        public string WaybillNumber { get; set; }
        
        /// <summary>
        /// 入库类型
        /// </summary>
        [Required]
        public int WarehouseType { get; set; }
        
        /// <summary>
        /// 交接状态
        /// </summary>
        [Required]
        public int TransferStatus { get; set; }
        
        /// <summary>
        /// 入库状态
        /// </summary>
        [Required]
        public int WarehouseStatus { get; set; }
        
        /// <summary>
        /// 交接时间
        /// </summary>
        [Required]
        public DateTime TransferTime { get; set; }
        
        /// <summary>
        /// 入库申请时间
        /// </summary>
        [Required]
        public DateTime WarehouseTime { get; set; }
        
    }
}